<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>event</title>
    <style>
        #btn {
            margin: 10px;
        }
        .div1 {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .div2 {
            width: 150px;
            height: 150px;
            background-color: green;
        }
        .div3 {
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
    </style>
</head>
<body>
    <p>事件流：事件的发生顺序，冒泡和捕获</p>
    <button id="btn">充值</button>
    <input type="text" id="input">
    <hr>
    <div class="div1" onclick="fn('div1')">
        <div class="div2" onclick="fn('div2')">
            <div class="div3" onclick="fn('div3')"></div>
        </div>
    </div>
    <script>
        btn.onclick = function (e) {
            // e就是事件对象。even
            console.log(e);
            // clientX clientY 在浏览器中的坐标
            // screenX screenY 在屏幕上的坐标
            // offsetX offsetY 相对于父元素的偏移量
            // target 事件的作用目标
            // keyCode 用在输入框上，每一个按键都有对应的编号
            // path 路径，冒泡的顺序，越来越大
        }
        input.onkeyup = function (e) {
            // 监听输入框的输入，按键谈起
            console.log(e);
        }
        function fn (name) {
            // 阻止冒泡。冒泡是指小的元素中的函数执行完成后会继续执行父元素的函数
            event.stopPropagation(); // 阻止冒泡
            console.log(name);
        }
    </script>
</body>
</html>